همدستی (برنامه‌نویسی شیءگرا)

از ویکی‌پدیا، دانشنامهٔ آزاد

رابطه تداعی‌گری یا همدستی (به انگلیسی: Association) در برنامه‌نویسی شیءگرا، یک رابطه بین کلاس‌های شیء را تعریف می‌کند، که به یک نمونه شیء اجازه می‌دهد تا باعث شود شیء دیگر، عملی را از جانب خودش انجام دهد. این رابطه ساختاری است، زیرا تعیین می‌کند که اشیای نوع خاص به اشیای نوع دیگر متصل هستند، اما رفتار را تعیین نمی‌کند.

بالا: یک همدستی دوجهته
وسط: همدستی یک جهته: سرپیکان جهت پیمایش را نمایش می‌دهد.
پایین: جلوگیری از (ممنوعیت) وجود همدستی

علیت، در اصطلاح عمومی‌اش، برابر «ارسال یک پیام» یا «فراخوانی یک متد» یا «صدازدن یک عضو تابع» به یک شیء کنترل‌شده است. پیاده‌سازی واقعی همدستی معمولاً نیاز به یک شیء درخواست‌کننده دارد که یک «متد» یا «عضو تابع» را (از طریق یک ارجاع یا اشاره‌گر به محل حافظهٔ شیء کنترل‌شده) فراخوانی کند.

اشیایی که از طریق همدستی باهم مرتبط هستند، را اینگونه می‌توان تصور کرد که نسبت به همدستی‌شان یک «نقش» (به انگلیسی: role) را بازی می‌کنند، این موضوع وقتی رخ می‌دهد که حالت فعلی شیء (در وضعیت فعال)، به دیگر اشیاء همدست، امکان استفاده از شیء را به روش تعیین‌شده توسط نقش بدهد. از نقش می‌توان در تفکیک «دو شیء یک کلاس» موقعی که استفاده از آن‌ها را در زمینه همدستی توصیف می‌کنیم، استفاده کرد. یک نقش یا role، «جنبه‌های همگانی یا public» یک شیء در زمینه همدستی را توصیف می‌کند.[۱]

انتهای یک همدستی می‌تواند این مشخصات را داشته باشد:

  • می‌تواند شامل فراوانی (به انگلیسی: multiplicity) باشد، که یک حد بالایی و یک حد پایینی دارد و در قالب «حدپایین..حدبالا» بیان می‌شود.
  • می‌تواند شامل یک نام باشد.
  • می‌تواند رویت‌پذیری را اعلام کند.
  • می‌توان تعیین کرد که آیا انتهای یک همدستی منظم است و/یا یکتا است.

پانویس[ویرایش]

  1. Rumbaugh, JR; et al. (1991). Object-oriented modeling and design. Prentice Hall. ISBN 0-13-630054-5.

منابع[ویرایش]